去除基础镜像元数据的环境变量
去除环境变量
如果检查基础镜像环境发现存在上述环境变量,可以去除生成新的镜像,以ASCEND_VISIBLE_DEVICES举例
docker inspect base:0 |grep ASCEND_VISIBLE_DEVICES
如果发现有设置该环境变量,使用下面的Dockerfile文件重新构建去除环境变量, 需要先记录一下当前基础镜像包含的一些环境变量,当前默认用户,工作目录等等
docker inspect base:0|grep -A 20 "Env\|USER\|WORKDIR"
# 先基于基础镜像创建一个容器
docker run -itd --name new_container base:0 /bin/bash
# 注意docker export只会导出容器中的文件系统,镜像的构建历史已经环境变量会被去除
docker export new_container > new_image
docker import new_image base:1
生成新镜像
根据记录的环境变量,去除ASCEND_VISIBLE_DEVICES,其余的设置好,包含USER,WORKDIR等等
FROM base:1
Env ...
USER ...
WORKDIR ...
docker build -t base:2 .